package com.tedu.spring.demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/*
* Demo测试类
* 类  通过创建对象的方式进行使用
* Person p = new Person();
* new Person();
*/
public class Demo {
    public static void main(String[] args) {
        // java——类——创建类
        Demo d = new Demo();
        System.out.println(d);

        Person p = new Person();
        p.eat();
        p.say();

        // Spring框架——解决程序员项目结构搭建复杂过程简单化(控制层框架、控制其他组合框架 SSM)
       // 学会Spring框架——IOC(控制反转)
       //             ——AOP(面向切面编程)
       //IOC：将创建对象交给Spring容器完成
        // 解决：降低模块之间的耦合 —— 低耦合

       //开发程序：高内聚、低耦合
        // Spring 整合框架

        //1.创建Spring容器
        ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

        //2.获取对象
        Person p1 = (Person) ac.getBean("person");
        //2.1调取对象方法
        p1.say();
        p1.eat();

        //3.关闭容器(强转)
        ((ClassPathXmlApplicationContext)ac).close();
    }
}
